Users who want to stay current with advancements in computer software, are constantly required to “up-grade” their computing devices. Computing devices include, but are not limited to desktop and laptop personal computers, personal digital assistants (PDAs), cellular telephones, etc. Computing devices are generically referred to herein as computers.
Upgrades range from applying a “patch” to an existing program to the installation of a different version of a software program, or in many instances the installation of a different operating system. The application of a patch to an existing program or the installation of a different version of a software program does not necessarily require the user to migrate the existing “state” of the entire computer. In most instances the patch or different version is applied locally at each computer without the migration of the existing state of the entire computer to a different location outside the computing environment of the computer. The “state” of a computer as used herein refers to user specific programs and data, such as, but not limited to, operating system user preferences, application programs, and the user specific data associated with the operating system and the application programs. Migration is the movement of a user's computer state to a remote location, such as a server hard-drive.
The installation of a different, usually new, operating system often requires that the state of the computer be migrated during the installation. Migration is often required regardless of whether the different operating system is to be installed on a user's current computer, or on a computer that is different from the user's current computer. More specifically, if the user does not want to perform other functions, for example, re-partition a hard drive, or replace an existing hard-drive with a different one, the installation of a different operating system on a user's current computer may not require user state migration. Contrariwise, if the user does want to perform another function, for example re-partition a hard drive, when installing a different operating system on the user's current computer, the user state of the current computer has to be migrated before the different operating system can be installed and the hard-drive re-partitioned. After the different operating system is installed and the hard drive repartitioned, the user state is retrieved from the storage location and downloaded back onto the computer. Likewise, when a user obtains a new or replacement computer with an operating system that is different from the operating system of the user's current computer, the user often is required to migrate the state of the current computer to a remote location before the user's state can be downloaded onto the new computer. This is particularly true when a user's current computer is being shared with other users, each with a different state that is enabled when different user's log on, and the user is receiving a new computer intended for the sole use of the user.
Migrating computer state when changing operating systems is easier said than done. The migration of a user state often requires several steps that involve security clearances. Many users are handicapped by not being computer “savvy” or not knowing the finer details of the migration process. Such handicaps are usually circumvented by employing the expertise of a system or network administrator or some other such entity. Or, in the case of a business entity, by the user saving the state of the entire computer using the file share feature of a server. The file share feature of a server allows users within a computing network to have common access to a server where files can be stored. This feature allows a user within a computing network to exchange file contents with another user without using up storage space on the hard drive of the user's computer, making the user's computer accessible to the other user. While saving to a share file does not require a high level of computer knowledge, shared files are accessible to all the users within the computing network of the server. Hence, there is a possibility that the contents of a shared file will be altered, read, or written to by those who are not authorized to do so. Transforming sensitive and confidential contents to a shared file is a serious drawback of current user migration practice. The first alternative, i.e., employing the expertise of a system or network administrator or some other such entity, has its own drawbacks. Firstly, it is a financially costly alternative. Secondly, it is time consuming due to the planning required before the administrator performs the migration. The time delay is compounded if the ratio of system or network administrators to the number of users requiring migration is low.
In summary, the current procedures employed to migrate the state of a computer while deploying a new or different operating system are either financially expensive and time consuming, or risk migration to a non-secure location.